package logging

// Core 日志核心
type Core struct {
	sinks  []Sink // 日志处理槽
	logDir string // 日志目录
}

// SetLogDir 设置日志文件目录
func (c *Core) SetLogDir(dir string) {
	c.logDir = dir
}

// AddSink 添加日志处理槽
func (c *Core) AddSink(sink Sink) {
	c.sinks = append(c.sinks, sink)
}

// Emit 处理日志
func (c *Core) Emit(rec *Record) {
	for _, sink := range c.sinks {
		sink.Consume(rec)
	}
}

// Close 关闭核心
func (c *Core) Close() {
	for _, sink := range c.sinks {
		sink.Close()
	}
}
